// 循环遍历数组，并返回一个新数组
// 回调函数一共接收3个参数，分别是：「正在处理的当前元素的值、正在处理的当前元素的索引、正在遍历的集合对象」
Array.prototype.map = function (fn) {
    let arr = []
    for (let i = 0; i < this.length; i++) {
        arr.push(fn(this[i], i, this))
    }
    return arr
}

// Test
let array = [1, 2, 3].map((item) => {
    return item * 2
})

console.log(array)  // [2, 4, 6]
